import { AIChatModelCard } from '../types/aiModel';

// 以 src/config/modelProviders/cometapi.ts 为准的 CometAPI 模型清单
const cometapiChatModels: AIChatModelCard[] = [
  // GPT-5 系列
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 400_000,
    description:
      'GPT-5 是 CometAPI 提供的最新旗舰模型，适用于跨领域编码和代理任务。GPT-5 在准确性、速度、推理、上下文识别、结构化思维和问题解决方面实现了飞跃。',
    displayName: 'GPT-5-Chat-Latest',
    enabled: true,
    id: 'gpt-5-chat-latest',
    maxOutput: 128_000,
    releasedAt: '2025-08-07',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 400_000,
    description: 'GPT-5 迷你版本，性价比极高的智能模型。',
    displayName: 'GPT-5 Mini',
    enabled: true,
    id: 'gpt-5-mini',
    maxOutput: 128_000,
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 400_000,
    description: 'GPT-5 的纳米版本，适合轻量级任务。',
    displayName: 'GPT-5 Nano',
    enabled: true,
    id: 'gpt-5-nano',
    maxOutput: 128_000,
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 400_000,
    description: 'GPT-5',
    displayName: 'GPT-5',
    enabled: true,
    id: 'gpt-5',
    maxOutput: 128_000,
    type: 'chat',
  },

  // GPT-4.1 / 4o 系列
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 1_047_576,
    description: 'GPT-4.1 提供了更强大的推理和生成能力。',
    displayName: 'GPT-4.1',
    enabled: true,
    id: 'gpt-4.1',
    maxOutput: 32_768,
    releasedAt: '2025-04-14',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 1_047_576,
    description:
      'GPT-4.1 mini 提供了智能、速度和成本之间的平衡，使其成为许多用例中有吸引力的模型。',
    displayName: 'GPT-4.1 mini',
    enabled: true,
    id: 'gpt-4.1-mini',
    maxOutput: 32_768,
    releasedAt: '2025-04-14',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 128_000,
    description: 'GPT-4.1 nano 是最轻量级的版本，提供快速响应。',
    displayName: 'GPT-4.1 Nano',
    enabled: true,
    id: 'gpt-4.1-nano',
    maxOutput: 16_384,
    releasedAt: '2025-04-14',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 128_000,
    description: 'GPT-4o 的小型版本，提供更快的响应速度。',
    displayName: 'GPT-4o Mini',
    enabled: true,
    id: 'gpt-4o-mini',
    maxOutput: 16_384,
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 128_000,
    description:
      'ChatGPT-4o 是一款动态模型，实时更新以保持当前最新版本。它结合了强大的语言理解与生成能力，适合于大规模应用场景，包括客户服务、教育和技术支持。',
    displayName: 'ChatGPT-4o',
    enabled: true,
    id: 'chatgpt-4o-latest',
    maxOutput: 16_384,
    type: 'chat',
  },

  // OpenAI o 系列
  {
    abilities: { vision: true },
    contextWindowTokens: 200_000,
    description:
      'o4-mini 是 OpenAI 的推理模型，支持图文输入并输出文本，适用于需要广泛通用知识的复杂任务。该模型具有200K上下文',
    displayName: 'o4-mini',
    enabled: true,
    id: 'o4-mini-2025-04-16',
    maxOutput: 200_000,
    releasedAt: '2025-4-16',
    type: 'chat',
  },
  {
    abilities: { vision: true },
    contextWindowTokens: 200_000,
    description:
      'o3 Pro 是OpenAI新的推理模型，支持图文输入并输出文本，适用于需要广泛通用知识的复杂任务',
    displayName: 'o3 Pro',
    enabled: true,
    id: 'o3-pro-2025-06-10',
    maxOutput: 200_000,
    releasedAt: '2025-6-10',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 200_000,
    description:
      'o3 是OpenAI新的推理模型，支持图文输入并输出文本，适用于需要广泛通用知识的复杂任务',
    displayName: 'o3',
    enabled: true,
    id: 'o3-2025-04-16',
    maxOutput: 200_000,
    releasedAt: '2025-4-16',
    type: 'chat',
  },

  // Anthropic Claude 系列
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 200_000,
    description:
      'Claude Opus 4.1 是 Anthropic 最新的用于处理高度复杂任务的最强大模型。它在性能、智能、流畅性和理解力方面表现卓越。',
    displayName: 'Claude Opus 4.1',
    enabled: true,
    id: 'claude-opus-4-1-20250805',
    maxOutput: 32_000,
    releasedAt: '2025-08-05',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 200_000,
    description: 'Claude Opus 4.1 思考模型，可以展示其推理过程的高级版本。',
    displayName: 'Claude Opus 4.1 Thinking',
    enabled: true,
    id: 'claude-opus-4-1-20250805-thinking',
    maxOutput: 32_000,
    releasedAt: '2025-08-05',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 200_000,
    description:
      'Claude Sonnet 4 可以产生近乎即时的响应或延长的逐步思考，用户可以清晰地看到这些过程。',
    displayName: 'Claude Sonnet 4',
    enabled: true,
    id: 'claude-sonnet-4-20250514',
    maxOutput: 64_000,
    releasedAt: '2025-05-23',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 200_000,
    description:
      'Claude Sonnet 4 思考模型可以产生近乎即时的响应或延长的逐步思考，用户可以清晰地看到这些过程。',
    displayName: 'Claude Sonnet 4 Thinking',
    enabled: true,
    id: 'claude-sonnet-4-20250514-thinking',
    maxOutput: 64_000,
    releasedAt: '2025-05-23',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 200_000,
    description:
      'Claude 3.7 Sonnet 是 Anthropic 最新的用于处理高度复杂任务的最强大模型。它在性能、智能、流畅性和理解力方面表现卓越。',
    displayName: 'Claude 3.7 Sonnet Latest',
    enabled: true,
    id: 'claude-3-7-sonnet-latest',
    maxOutput: 64_000,
    releasedAt: '2025-08-05',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 200_000,
    description: 'Claude 3.5 Haiku 提供快速响应，适合轻量级任务。',
    displayName: 'Claude 3.5 Haiku',
    enabled: true,
    id: 'claude-3-5-haiku-latest',
    maxOutput: 64_000,
    type: 'chat',
  },

  // Google Gemini 系列
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 1_114_112,
    description:
      'Gemini 2.5 Pro 是 Google 最先进的思维模型，能够对代码、数学和STEM领域的复杂问题进行推理，以及使用长上下文分析大型数据集、代码库和文档。',
    displayName: 'Gemini 2.5 Pro',
    enabled: true,
    id: 'gemini-2.5-pro',
    maxOutput: 65_536,
    releasedAt: '2025-03-25',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 65_536,
    description:
      'Gemini 2.5 flash 是 Google 快速响应的思维模型，能够对代码、数学和STEM领域的复杂问题进行推理，以及使用长上下文分析大型数据集、代码库和文档。',
    displayName: 'Gemini 2.5 flash',
    enabled: true,
    id: 'gemini-2.5-flash',
    maxOutput: 65_536,
    releasedAt: '2025-03-25',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 1_048_576,
    description: 'Gemini 2.5 Flash 模型，针对成本效益和低延迟等目标进行了优化。',
    displayName: 'Gemini 2.5 Flash-Lite',
    enabled: true,
    id: 'gemini-2.5-flash-lite',
    maxOutput: 8192,
    releasedAt: '2025-06-17',
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 1_000_000,
    description: 'Google 最新的 Gemini 2.0 Flash 模型，拥有超大上下文窗口。',
    displayName: 'Gemini 2.0 Flash',
    enabled: true,
    id: 'gemini-2.0-flash',
    maxOutput: 8192,
    type: 'chat',
  },

  // xAI Grok 系列
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 131_072,
    description: 'xAI 的 Grok 4，具备强大的推理能力。',
    displayName: 'Grok 4',
    enabled: true,
    id: 'grok-4-0709',
    maxOutput: 4096,
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 131_072,
    description: 'xAI 的 Grok 3，具备强大的推理能力。',
    displayName: 'Grok 3',
    enabled: true,
    id: 'grok-3',
    maxOutput: 4096,
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 100_000,
    description: 'xAI 的 Grok 3 Mini，具备强大的推理能力和快速响应。',
    displayName: 'Grok 3 Mini',
    enabled: true,
    id: 'grok-3-mini',
    maxOutput: 32_000,
    type: 'chat',
  },

  // DeepSeek 系列
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 128_000,
    displayName: 'deepseek-v3.1',
    enabled: true,
    id: 'deepseek-v3.1',
    maxOutput: 8000,
    type: 'chat',
  },
  {
    abilities: { functionCall: true, vision: true },
    contextWindowTokens: 64_000,
    description: 'DeepSeek V3 是最新的大规模语言模型，在推理、代码生成和多语言理解方面表现优异。',
    displayName: 'DeepSeek V3',
    enabled: true,
    id: 'deepseek-v3',
    maxOutput: 64_000,
    type: 'chat',
  },
  {
    abilities: { functionCall: true },
    contextWindowTokens: 64_000,
    description: 'DeepSeek R1 推理模型，专门用于复杂的逻辑推理和数学计算任务。',
    displayName: 'DeepSeek R1',
    enabled: true,
    id: 'deepseek-r1-0528',
    maxOutput: 64_000,
    releasedAt: '2025-05-28',
    type: 'chat',
  },
  {
    abilities: { functionCall: true },
    contextWindowTokens: 64_000,
    description: 'DeepSeek 推理模型，专注于复杂的逻辑推理任务。',
    displayName: 'DeepSeek Reasoner',
    enabled: true,
    id: 'deepseek-reasoner',
    maxOutput: 64_000,
    type: 'chat',
  },
  {
    abilities: { functionCall: true },
    contextWindowTokens: 64_000,
    description: 'DeepSeek 聊天模型，在代码和推理方面表现优秀。',
    displayName: 'DeepSeek Chat',
    enabled: true,
    id: 'deepseek-chat',
    maxOutput: 64_000,
    type: 'chat',
  },
];

export const allModels = [...cometapiChatModels];

export default allModels;
